﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using VentaElectrodomesticos.Sql;
using VentaElectrodomesticos.Utilities;
using System.Data.SqlClient;

namespace VentaElectrodomesticos.ClientesPremium
{
    public partial class FormClientesPremium : Form
    {
        ClaseSQL sql = new ClaseSQL();

        public FormClientesPremium()
        {
            InitializeComponent();

            sql.llenarCombo(cbSucursal, "SELECT idSucursal, direccion FROM LAG.sucursales");
        }

        private void btnCalcular_Click(object sender, EventArgs e)
        {
            if (this.validarCampos())
            {
                dataGridView1.Rows.Clear();                

                String[,] parametros = new String[2, 2];
                String sp = "LAG.clientesPremium";
                parametros[0, 0] = "@arg_Ano";
                parametros[1, 0] = tbAnio.Text;
                parametros[0, 1] = "@arg_idSucursal";
                KeyValuePair sucursal = (KeyValuePair)cbSucursal.SelectedItem;
                parametros[1, 1] = sucursal.Key.ToString();

                sql.Open();
                SqlDataReader reader = sql.ejecutarStoredProcedure(sp, parametros);
                while (reader.Read())
                {
                    dataGridView1.Rows.Add(
                        reader["nombre"].ToString(),
                        reader["apellido"].ToString(),
                        reader["dni"],
                        reader["total"],
                        reader["cantProd"],
                        reader["ultimaCompra"].ToString().Remove(10),
                        reader["dniUltimoVendedor"]
                    );


                }

                reader.Close();
                sql.Close();
            }
            else
            {
                MessageBox.Show("Hay campos con datos no validos", "Error");
            }
        }

        private void ingresarSoloNumericos(object sender, KeyPressEventArgs e)
        {
            if (!System.Text.RegularExpressions.Regex.IsMatch(e.KeyChar.ToString(), "[0-9\b]+"))
                e.Handled = true;
        }

        private bool validarCampos()
        {
            bool vAnio = Utils.validarAnio(this.tbAnio, this.errorProvider);
            bool vSucursal = !Utils.campoVacio(cbSucursal, this.errorProvider, "Seleccione una sucursal");

            return vAnio && vSucursal;
        }
    }
}
